//package com.xc.utils.task.stock;
//
//import com.ag.utils.DateUtils;
//import com.ag.utils.PageInfo;
//import com.alibaba.fastjson.JSONObject;
//import com.xc.dao.StockMapper;
//import com.xc.pojo.Stock;
//import com.xc.service.IStockService;
//import com.xc.utils.DateTimeUtil;
//import com.xc.utils.stock.BuyAndSellUtils;
//
//import java.util.Comparator;
//import java.util.Date;
//import java.util.List;
//import java.util.stream.Collectors;
//
//import com.xc.utils.stock.east.EastmoneyApi;
//import org.apache.commons.lang.StringUtils;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.scheduling.annotation.Scheduled;
//import org.springframework.stereotype.Component;
//
//@Component
//public class StockTask {
//    @Autowired
//    IStockService stockService;
//
//    @Autowired
//    StockMapper stockMapper;
//
//    private static final Logger log = LoggerFactory.getLogger(StockTask.class);
//
//    public void time(boolean am, boolean pm) {
//        am = false;
//        pm = false;
//        try {
//            am = BuyAndSellUtils.isTransTime("9:29", "11:31");
//            pm = BuyAndSellUtils.isTransTime("12:59", "15:00");
//        } catch (Exception e) {
//            log.error("= {}", e);
//        }
//        log.info("am = {}  pm = {}", Boolean.valueOf(am), Boolean.valueOf(pm));
//    }
//
//    /*股票走势图定时任务-15*/
//    @Scheduled(cron = "0 0/1 9-15 * * ?")
//    public void z1() {
//        boolean am = false;
//        boolean pm = false;
//        try {
//            am = BuyAndSellUtils.isTransTime("9:29", "11:31");
//            pm = BuyAndSellUtils.isTransTime("12:59", "15:00");
//        } catch (Exception e) {
//            log.error("= {}", e);
//        }
//        log.info("am = {}  pm = {}", Boolean.valueOf(am), Boolean.valueOf(pm));
//        if (am || pm) {
//            log.info("=====z1={} =====", DateTimeUtil.dateToStr(new Date()));
//            this.stockService.z1();
//            log.info("=====z1={} =====", DateTimeUtil.dateToStr(new Date()));
//        }
//    }
//
//    @Scheduled(cron = "0 0/1 9-15 * * ?")
//    public void z11() {
//        boolean am = false;
//        boolean pm = false;
//        try {
//            am = BuyAndSellUtils.isTransTime("9:29", "11:31");
//            pm = BuyAndSellUtils.isTransTime("12:59", "15:00");
//        } catch (Exception e) {
//            log.error("= {}", e);
//        }
//        log.info(" am = {}  pm = {}", Boolean.valueOf(am), Boolean.valueOf(pm));
//        if (am || pm) {
//            log.info("====z11={} =====", DateTimeUtil.dateToStr(new Date()));
//            this.stockService.z11();
//            log.info("====z11={} =====", DateTimeUtil.dateToStr(new Date()));
//        }
//    }
//    @Scheduled(cron = "0 0/1 9-15 * * ?")
//    public void z12() {
//        boolean am = false;
//        boolean pm = false;
//        try {
//            am = BuyAndSellUtils.isTransTime("9:29", "11:31");
//            pm = BuyAndSellUtils.isTransTime("12:59", "15:00");
//        } catch (Exception e) {
//            log.error("= {}", e);
//        }
//        log.info("z12 am = {}  pm = {}", Boolean.valueOf(am), Boolean.valueOf(pm));
//        if (am || pm) {
//            log.info("====z12={} =====", DateTimeUtil.dateToStr(new Date()));
//            this.stockService.z12();
//            log.info("====z12={} =====", DateTimeUtil.dateToStr(new Date()));
//        }
//    }
//
//    @Scheduled(cron = "0 0/1 9-15 * * MON-FRI")
//    public void z2() {
//        boolean am = false;
//        boolean pm = false;
//        try {
//            am = BuyAndSellUtils.isTransTime("9:29", "11:31");
//            pm = BuyAndSellUtils.isTransTime("12:59", "15:00");
//        } catch (Exception e) {
//            log.error("= {}", e);
//        }
//        log.info("am = {}  pm = {}", Boolean.valueOf(am), Boolean.valueOf(pm));
//        if (am || pm) {
//            log.info("====={} =====", DateTimeUtil.dateToStr(new Date()));
//            this.stockService.z2();
//            log.info("====={} =====", DateTimeUtil.dateToStr(new Date()));
//        }
//    }
//
//    @Scheduled(cron = "0 0/1 9-15 * * MON-FRI")
//    public void z21() {
//        boolean am = false;
//        boolean pm = false;
//        try {
//            am = BuyAndSellUtils.isTransTime("9:29", "11:31");
//            pm = BuyAndSellUtils.isTransTime("12:59", "15:00");
//        } catch (Exception e) {
//            log.error("= {}", e);
//        }
//        log.info("z21-am = {}  pm = {}", Boolean.valueOf(am), Boolean.valueOf(pm));
//        if (am || pm) {
//            log.info("====={} =====", DateTimeUtil.dateToStr(new Date()));
//            this.stockService.z21();
//            log.info("====={} =====", DateTimeUtil.dateToStr(new Date()));
//        }
//    }
//    @Scheduled(cron = "0 0/1 9-15 * * MON-FRI")
//    public void z22() {
//        boolean am = false;
//        boolean pm = false;
//        try {
//            am = BuyAndSellUtils.isTransTime("9:29", "11:31");
//            pm = BuyAndSellUtils.isTransTime("12:59", "15:00");
//        } catch (Exception e) {
//            log.error("= {}", e);
//        }
//        log.info("z22-am = {}  pm = {}", Boolean.valueOf(am), Boolean.valueOf(pm));
//        if (am || pm) {
//            log.info("====={} =====", DateTimeUtil.dateToStr(new Date()));
//            this.stockService.z22();
//            log.info("====={} =====", DateTimeUtil.dateToStr(new Date()));
//        }
//    }
//
//    @Scheduled(cron = "0 0/1 9-15 * * MON-FRI")
//    public void z3() {
//        boolean am = false;
//        boolean pm = false;
//        try {
//            am = BuyAndSellUtils.isTransTime("9:29", "11:31");
//            pm = BuyAndSellUtils.isTransTime("12:59", "15:00");
//        } catch (Exception e) {
//            log.error("= {}", e);
//        }
//        log.info("am = {}  pm = {}", Boolean.valueOf(am), Boolean.valueOf(pm));
//        if (am || pm) {
//            log.info("====={} =====", DateTimeUtil.dateToStr(new Date()));
//            this.stockService.z3();
//            log.info("====={} =====", DateTimeUtil.dateToStr(new Date()));
//        }
//    }
//    @Scheduled(cron = "0 0/1 9-15 * * MON-FRI")
//    public void z31() {
//        boolean am = false;
//        boolean pm = false;
//        try {
//            am = BuyAndSellUtils.isTransTime("9:29", "11:31");
//            pm = BuyAndSellUtils.isTransTime("12:59", "15:00");
//        } catch (Exception e) {
//            log.error("= {}", e);
//        }
//        log.info("z31-am = {}  pm = {}", Boolean.valueOf(am), Boolean.valueOf(pm));
//        if (am || pm) {
//            log.info("====={} =====", DateTimeUtil.dateToStr(new Date()));
//            this.stockService.z31();
//            log.info("====={} =====", DateTimeUtil.dateToStr(new Date()));
//        }
//    }
//    @Scheduled(cron = "0 0/1 9-15 * * MON-FRI")
//    public void z32() {
//        boolean am = false;
//        boolean pm = false;
//        try {
//            am = BuyAndSellUtils.isTransTime("9:29", "11:31");
//            pm = BuyAndSellUtils.isTransTime("12:59", "15:00");
//        } catch (Exception e) {
//            log.error("= {}", e);
//        }
//        log.info("z32-am = {}  pm = {}", Boolean.valueOf(am), Boolean.valueOf(pm));
//        if (am || pm) {
//            log.info("====={} =====", DateTimeUtil.dateToStr(new Date()));
//            this.stockService.z32();
//            log.info("====={} =====", DateTimeUtil.dateToStr(new Date()));
//        }
//    }
//
//    @Scheduled(cron = "0 0/1 9-15 * * MON-FRI")
//    public void z4() {
//        boolean am = false;
//        boolean pm = false;
//        try {
//            am = BuyAndSellUtils.isTransTime("9:29", "11:31");
//            pm = BuyAndSellUtils.isTransTime("12:59", "15:00");
//        } catch (Exception e) {
//            log.error("= {}", e);
//        }
//        log.info("am = {}  pm = {}", Boolean.valueOf(am), Boolean.valueOf(pm));
//        if (am || pm) {
//            log.info("====={} =====", DateTimeUtil.dateToStr(new Date()));
//            this.stockService.z4();
//            log.info("====={} =====", DateTimeUtil.dateToStr(new Date()));
//        }
//    }
//    @Scheduled(cron = "0 0/1 9-15 * * MON-FRI")
//    public void z41() {
//        boolean am = false;
//        boolean pm = false;
//        try {
//            am = BuyAndSellUtils.isTransTime("9:29", "11:31");
//            pm = BuyAndSellUtils.isTransTime("12:59", "15:00");
//        } catch (Exception e) {
//            log.error("= {}", e);
//        }
//        log.info("z41-am = {}  pm = {}", Boolean.valueOf(am), Boolean.valueOf(pm));
//        if (am || pm) {
//            log.info("====={} =====", DateTimeUtil.dateToStr(new Date()));
//            this.stockService.z41();
//            log.info("====={} =====", DateTimeUtil.dateToStr(new Date()));
//        }
//    }
//    @Scheduled(cron = "0 0/1 9-15 * * MON-FRI")
//    public void z42() {
//        boolean am = false;
//        boolean pm = false;
//        try {
//            am = BuyAndSellUtils.isTransTime("9:29", "11:31");
//            pm = BuyAndSellUtils.isTransTime("12:59", "15:00");
//        } catch (Exception e) {
//            log.error("= {}", e);
//        }
//        log.info("z42-am = {}  pm = {}", Boolean.valueOf(am), Boolean.valueOf(pm));
//        if (am || pm) {
//            log.info("====={} =====", DateTimeUtil.dateToStr(new Date()));
//            this.stockService.z42();
//            log.info("====={} =====", DateTimeUtil.dateToStr(new Date()));
//        }
//    }
//
//    //新股逻辑处理
//    @Scheduled(cron = "0 0 8 * * ?")
//    public void newStock() {
////        PageInfo<JSONObject> pageInfo = EastmoneyApi.ipoApplyDate(1, 50);
////        String nowDate = DateUtils.nowDate(DateUtils.YYYY_MM_DD);
////
////        List<JSONObject> todayList = pageInfo.getItems()
////                .stream()
////                .filter(val -> {
////                    return StringUtils.startsWith(val.getString("APPLY_DATE"), nowDate);
////                })
////                .collect(Collectors.toList());
////
////        List<JSONObject> futureList = pageInfo.getItems()
////                .stream()
////                .filter(val -> {
////                    return ! StringUtils.startsWith(val.getString("APPLY_DATE"), nowDate);
////                })
////                .sorted(Comparator.comparing(val -> val.getString("APPLY_DATE")))
////                .collect(Collectors.toList());
////
////        if (todayList.size()>0) {
////            todayList.forEach(jsonObject -> {
////                Stock stock = new Stock();
////                stock.setStockCode(jsonObject.getString("APPLY_CODE"));
////                stock.setStockName(jsonObject.getString("SECURITY_NAME"));
////
////                if (("非科创板".equals(jsonObject.getString("MARKET_TYPE"))&&stock.getStockCode().startsWith("30")||
////                        (jsonObject.getString("MARKET_TYPE").startsWith("深圳")&&stock.getStockCode().startsWith("00")))) {
////                    stock.setStockGid("sz"+jsonObject.getString("APPLY_CODE"));
////                } else if ("科创板".equals(jsonObject.getString("MARKET_TYPE"))||jsonObject.getString("MARKET_TYPE").startsWith("上海")) {
////                    stock.setStockGid("sh"+jsonObject.getString("APPLY_CODE"));
////                }
////
////                stock.setIsLock(0);
////                stock.setIsShow(0);
////                stock.setStockState(1);
////                Stock fstock = this.stockMapper.findStockByCode(stock.getStockCode());
////                if (fstock!=null) {
////                    log.info("此新股code=={}已存在，无需入库",fstock.getStockCode());
////                }else {
////                    Integer res = this.stockMapper.insert(stock);
////                    if (res>0) {
////                        log.info("此新股code=={}入库成功",fstock.getStockCode());
////                    }else {
////                        log.info("此新股code=={}入库失败",fstock.getStockCode());
////                    }
////                }
////            });
////        }
//
//
//    }
//}
